#include <iostream>

/**
  *override final
  */

using namespace std;

struct B
{
    virtual void f1(int) const;
    virtual void f2();
};

struct D : B
{
    virtual void f1(int) const override;
    virtual void f2() final;
};

struct E : D
{
    virtual void f1(int) const override;
    virtual void f2();
};

int main(int argc, char *argv[])
{
    return 0;
}
